Skip to main content

Priority Queue

Priority Queue is an ADT that the item in it will be sorted in given priority. Basically, there are 3 operation of a priority queue where we can insert, find the max priority item and extract the max priority queue.

Insert(PQ, x, priority): Add x into PQ with the priority queue PQ

FindMax(PQ): Return the item in PQ with the highest priority

ExtractMax(PQ): Remove and return an item from PQ with the highest priority.

Implement

The easiest implement of a priority queue we can just simply use the heap. See more about heap.

Worst-Case Time complexity

OperationTime Complexity
InsertO(log n)
FindMaxO(1)
ExtractMaxO(log n)